Environmental state profiling for electronics devices in an enclosure

ABSTRACT

Apparatus and method for environmentally monitoring electronics devices. Each electronics device has an environmental sensor configured to monitor an environmental state. Environmental control logic, including computer instructions stored in the memory, is configured to simultaneously query, with respect to a global clock, at least a subset of the electronics devices to read the respective sensors and thereby obtain a set of environmental data points, and to map the set of environmental data points in relation to the sensor locations forming a transmissibility mode profile (TMP).

SUMMARY

Some embodiments of the present technology contemplate an apparatus having a plurality of data storage devices. Each data storage device has an environmental sensor configured to monitor an environmental state. A controller has a memory and is configured to perform control of input/output (I/O) transactions for each of the plurality of data storage devices. Environmental control logic, including computer instructions stored in the memory, is configured to query, at least a subset of the data storage devices to read the environmental sensors and obtain environmental data points, and to map the environmental data points in relation to sensor locations forming a transmissibility mode profile (TMP).

Some embodiments of the present technology contemplate a system having an enclosure and a plurality of data storage devices in the enclosure. Each data storage device has an environmental sensor and operates according to an individual clock. A global clock is also for the plurality of data storage devices. Sync logic computer instructions stored in a computer memory are configured to synchronize each individual clock to the global clock. Environmental control logic computer instructions stored in a computer memory are configured to simultaneously, in relation to the global clock, obtain environmental data points from the environmental sensors of at least a subset of the plurality of data storage devices, and to construct a profile of the environmental data points in relation to locations of the environmental sensors.

Some embodiments of the present technology contemplate a computer-implemented method for operating an apparatus having a plurality of data storage devices. The method includes: establishing a global clock among the plurality of data storage devices; simultaneously obtaining environmental data points from at least a subset of the data storage devices according to the global clock; and responsive to at least one of the environmental data points varying a predetermined amount from a threshold value, adjusting an environmental state of the apparatus.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 depicts a functional representation of a storage rack that houses a number of storage enclosures.

FIG. 2 depicts a top representation of a storage enclosure in FIG. 1.

FIG. 3 depicts a functional block representation of a data storage device in FIG. 2.

FIG. 4 depicts a functional block representation of a synchronization system in accordance with illustrative embodiments of this technology.

FIG. 5 depicts a flow chart of steps in a method for the SYNC routine in FIG. 4.

FIG. 6 is an isometric depiction of a portion of the storage enclosure of FIG. 2.

FIG. 7 depicts a reference transmissibility mode profile (TMP) of the present technology.

FIG. 8 depicts a sample TMP in comparison to the reference TMP in FIG. 6.

FIG. 9 depicts another reference TMP of the present technology.

FIG. 10 depicts a compilation of all column and row reference TMPs for the data storage device array in FIG. 2.

FIG. 11 depicts a flow chart of steps in the environmental control (EC) method in FIG. 4.

DETAILED DESCRIPTION

Initially, it is to be appreciated that this disclosure is by way of example only, not by limitation. The environmental control concepts herein are not limited to use or application with any specific system or method. Thus, although the instrumentalities described herein are for the convenience of explanation, shown and described with respect to exemplary embodiments, it will be appreciated that the principles herein may be applied equally in other types of systems and methods involving environmental state control for electronics devices in an enclosure.

The present disclosure generally relates to processor-based electronics systems, and more particularly to monitoring an environmental state inside an electronics enclosure in order to maintain a desired operational reliability of the electronics devices. The illustrative embodiments herein deal with data storage devices in a storage enclosure, although the claimed embodiments are not so limited.

Networked data storage systems, such as object storage systems used in cloud computing environments, often employ multiple data storage devices that are operationally arranged to provide a relatively high data capacity memory storage space. The devices may be grouped together into a storage enclosure that can be removably installed into a rack system, such as the arrangement in a server cabinet. Such data storage systems can take a variety of forms including servers, cloud storage modules, RAID (redundant array of independent drives) systems, extended memory systems (JBODs, or “just a box of drives”), and the like. The data storage systems can be accessed locally or over a network including a local area network (LAN), a wide area network (WAN), the Internet, and the like.

Conventional data storage systems have continuously been redesigned to pack more storage capacity into smaller enclosure sizes. Miniaturized data storage devices packed closer together can create concerns that were negligible in the past. For example, the desired reliability of modern data storage systems can be diminished by small amounts of heat or vibration. Accordingly, various embodiments of the present disclosure are generally directed to an apparatus and method for predicting when an environmental state inside an enclosure containing processing devices should be adjusted to reduce the likelihood of data storage failure.

As for heat buildup, typically a storage enclosure has a housing adapted to be mounted within a rack system between a cold zone and a warm zone. The cold zone may be a cold aisle proximate one side of the storage enclosure and the warm zone may be a warm aisle proximate another side of the storage enclosure. A plurality of data storage devices, such as hard disc drives (HDDs), solid state drives (SSDs), hybrid drives, and the like, can be arranged and mounted in the enclosure and a coolant airflow passes over them from the cold zone to the warm zone, removing heat generated by the data storage devices from the enclosure to prevent excessive heat buildup. Typically, the data storage devices mounted nearer the cold zone have a higher heat transmissibility because the coolant airflow is substantially the same temperature as the cold zone. Heat transmitted by those data storage devices flows over the data storage devices nearer the warm zone, so the coolant airflow temperature increases in flowing from the cold zone to the warm zone. Thus, the heat transmissibility of the data storage devices nearer the warm zone is less than the data storage devices nearer the cold zone, meaning the former operate at a higher temperature. The present technology maps the heat transmissibility in relation to data storage device location in the enclosure to form a transmissibility mode profile (TMP). A current TMP can be used as a reference for comparing subsequent sample TMPs to predict a data storage device trending toward failure. While data storage devices are a particularly useful type of processing device to which the technology discussed herein can be applied, it will be appreciated that other electronic processing devices and systems, such as controllers, boards, operational modules, and the like can also benefit from this technology and are contemplated by the present disclosure.

These and other features can be understood beginning with a review of FIG. 1 which generally depicts a storage system 100 in accordance with illustrative embodiments. The system 100 includes a storage assembly 102 coupled to a computer 104 which, in turn, is connected to a network 106. The computer 104 can take a variety of forms such as a work station, a local personal computer, a server, and the like. The storage assembly 102 includes a server cabinet (rack) 108 and a plurality of modular storage enclosures 110. In some cases, all or some of the storage system 100 can represent a storage node of an object storage system.

One illustrative configuration for the storage enclosures 110 is depicted in FIG. 2. The configuration in FIG. 2 is a 36/2 U configuration with 36 (3×3×4) data storage devices 112 in a 2 U form factor height housing. A variety of other configurations can be used including storage enclosures with a total of N drives where N=12, 16, 20, 24, 30, 32, 48, etc. Sleds 115 can be used to secure multiple sets of the storage devices 112. As desired, the sleds 115 can be individually inserted into and withdrawn from the enclosure 110.

In some embodiments, the storage system 100 (FIG. 1) may be in an environmentally controlled room so that a user accessible walkway (aisle) adjacent one side of the storage cabinet 102 is at the T_(COLD) temperature, such as about T=20° C. Another side of the cabinet 102 may be adjacent a second walkway at the T_(WARM) temperature, which may be significantly higher such as about T=40° C. Other respective ambient temperatures may be present. It is contemplated that the warm aisle will be warmer than the cold aisle due to the venting of exhaust heat from the system as the fans (e.g., 118, FIG. 2) draw airflow through the storage enclosures 110 from the cold aisle side 122 to the warm aisle side 124.

The storage enclosure 110 can include dual power supplies 116, multiple airflow fans 118 and at least one controller 120. The power supplies 116 provide electrical power for the storage enclosures 110. The fans 118 draw airflow from openings (not separately shown) on the cold aisle side 122 of the housing 114 and pull the airflow through the housing 114 and out openings (not shown) on the warm aisle side 124 of the housing.

The controller 120 may have one or more intelligent processors 126 and can take a variety of configurations including but not limited to a server, a controller (including dual redundant RAID controllers), a cloud controller, dual port controllers, an Ethernet drive controller, etc. The controller 120 is configured to execute stored applications and to perform control of input/output (I/O) transactions between a host and each of the data storage devices 112. Other support electronics and components can be provided in the storage enclosure 110 as well, including a boot storage memory device, wiring cables, switches, brackets, LED indicators, etc. A redundant design is provided so that substantially any active failed component can be replaced while maintaining the device in an operational condition, including an entire sled 115 of storage devices 112 in which at least one device 112 has failed. Other relative arrangements and placements of the various active elements within the enclosure 110 can be provided as desired.

FIG. 3 depicts a generalized functional block diagram for the data storage device 112 in accordance with some embodiments. The data storage device 112 includes a processor-based programmable controller 132, an interface circuit 134 with a data buffer 136, and storage media 138. An environmental sensor 135 is capable of sensing an environmental state of the data storage device 112, such as temperature, vibration, etc. Each data storage device 112 operates according to its own individual clock 129.

FIG. 4 is a functional block depiction of a synchronization system 141 constructed and operated in accordance with illustrative embodiments of this technology. The controller 120 includes the aforementioned processor 126 as well as an interface (I/F) circuit 140 and a local buffer memory (memo) 142. One or more bus structures 144 enable the passage of data and commands between the storage devices 112 _(n) (labeled 1 to N) and a host device, such as the local computer 104 in FIG. 1. Computer applications reside in the memory 142 for selective execution by the processor 126. A synchronization routine (SYNC) 143 is executed to synchronize the individual clocks 129 of the data storage devices 112 to the global clock 139. An environmental control (EC) routine 145 is executed to simultaneously query, via the SYNC 143, at least a subset of the data storage devices 112 to read the sensors 135 in order to obtain a set of environmental data points. The set of environmental data points is mapped in relation to the sensor locations to form a transmissibility mode profile (TMP) that is discussed below.

The synchronization system 141 is capable of synchronizing local times (such as 129 ₁, 129 ₂, 129 ₃, 129 _(N)) at child nodes (e.g., such as data storage devices 112 ₁, 112 ₂, 112 ₃, . . . 112 _(N)) to the same parent node (such as controller 120) in a computer network. The time synchronization system 141 is configured to synchronize the local times at the child nodes by mapping local time stamp values to corresponding global time stamp values associated with a global time source (e.g., such as the global clock 139 implemented by the controller 120). Time sample pairs formed by pairing local time stamps and global time stamps are used to relate local times to the global time. Furthermore, interpolation between time sample pairs is employed to allow any local time stamp occurring between time sample pairs to be mapped to a corresponding global time stamp.

Any or all of the child nodes 112 _(n) and/or the parent node 120 may be any kind of node, such as, but not limited to, a computer network node, such as a stand-alone computer (such as the computer 104 of FIG. 1), a server, a bridge, a router, a data storage device, etc. Additionally or alternatively, any or all of the child nodes 112 _(n) and/or the parent node 120 may be a wireless network node, such as a mobile cellular telephone, a cordless digital telephone, a wireless access point, etc. Additionally or alternatively, the child nodes 112 _(n) and/or the parent node 120 may be individual processing elements in, for example, a multiprocessor system, a parallel processing system, etc. In such a configuration, the communication network 144 may be eliminated and/or replaced by a bus or other local communication path as explained below. Furthermore, the child nodes 112 _(n) and/or the parent node 120 can include any combination of such aforementioned nodes or the like.

The communication network 144 may be any kind of communication network, such as, but not limited to, a computer communication network, such as the Internet, a proprietary local area network (LAN) or wide area network (WAN), a dedicated leased line network link, a point-to-point microwave/satellite network, etc. Additionally or alternatively, the communication network 144 may be a wireless digital network, such as a mobile cellular network, a wireless digital network (e.g., WLAN, WiFi, WIMAX and/or Bluetooth), etc. Additionally or alternatively, the communication network 144 may be a communication interconnect, backplane, shared memory, etc. configured to communicatively couple multiple, individual processing elements in a multiprocessor system, a parallel processing system and/or the like. Furthermore, the communication network 144 may include any combination of such aforementioned communication networks or the like.

Although FIG. 4 depicts one parent node 120 and four child nodes 112 _(n) for clarity, the example time synchronization system 141 and the techniques disclosed herein may be adapted to support any number of parent nodes and child nodes. Furthermore, although FIG. 4 depicts a single communication network 144 for clarity, the example time synchronization system 141 and the techniques disclosed herein may be adapted to support any number of communication networks and any configuration of parent node(s) and child node(s).

To enable local time synchronization, the example system includes time synchronizers 129 ₁, 129 ₂, 129 ₃, and 129 _(N). Any or all of the time synchronizers 129 _(n) may be implemented as general purpose time synchronizers and/or special purpose time synchronizers. General purpose time synchronizers are capable of supporting both time measurement reporting and time interpolation and mapping, and may be used with parent nodes (i.e., global time sources) and/or child nodes. Special purpose time synchronizers, on the other hand, may be configured to support only measurement reporting or time interpolation and mapping, and/or may be configured to be used with only parent nodes (i.e., global time sources) or child nodes.

FIG. 5 depicts a flowchart of steps in an illustrative example of the SYNC 143 routine within the time synchronization system 141. Each time synchronizer 129 _(n) is configured to locally map local time values associated with its respective child node 112 _(n) to corresponding global time values associated with the parent node 120. For example, focusing on child node 112 ₁, its time synchronizer 129 ₁ may be configured to relate local times to global times at desired (e.g., predetermined) time intervals by determining time sample pairs (TSPs) in which a particular time sample pair includes a local time measurement and a corresponding global time measurement.

In these illustrative embodiments the routine begins in block 147 where the time synchronizer 129 ₁ may send a measurement trigger message over the communication network 144 to the parent node 120 and/or the time synchronizer 139 associated with the parent node 120 at local (child) time T_(S1). In block 149, the time synchronizer 139 may be configured to obtain a first (e.g., send) local time stamp when the measurement trigger message is sent to the parent node 120 and/or time synchronizer 139 at global (parent) time T_(M1).

In block 151, in response to the trigger message, the time synchronizer 139 may send the global time measurement (e.g., global time stamp) to the time synchronizer 129 ₁ or associated child node 112 ₁ via a measurement reporting message sent over the communication network 144 at parent time T_(M2). In block 153, the time synchronizer 129 ₁ may then be configured to obtain a second (e.g., receive) local time stamp when the measurement reporting message is received from the parent node 120 and/or time synchronizer 139 at child time T_(S2). Assuming that propagation time for both messages is approximately equal and the time to obtain the global time stamp (T_(M2)−T_(M1)) is negligible, in block 155 the average of the first (send at T_(S1)) and second (receive at T_(S2)) local time stamps corresponds to the absolute time at which the global time stamp was generated. Thus, the time synchronizer 129 ₁ may determine the local time measurement corresponding to the global time measurement by averaging the first (send) local time stamp and the second (receive) local time stamp. The resulting local and global time sample pair are time synchronized.

In block 157 the steps above are repeated to determine a sequence of TSPs at desired (predetermined) time intervals to synchronize local times to global times over a desired (predetermined) time domain. In block 159 the time synchronizer 129 ₁ may be configured to implement an interpolation between TSPs to allow any local time value occurring in an interval between adjacent TSPs to be related (mapped) to a corresponding global time value in the interval. Thus, to map a particular local time value to a corresponding global time value, the time synchronizer 129 ₁ selects the time interval in which the particular local value lies, and then evaluates the selected interval to determine the local time value corresponding to the particular global time value.

The synchronization system 141 performs this synchronization procedure for each of the storage devices 112 _(n) in order to simultaneously, with respect to global time (meaning “at the same global time”), query at least some, if not all, of the data storage devices for reading the corresponding sensors 135 _(n). The simultaneous readings provide a set of environmental data points that the controller 120 maps in relation to the respective sensor locations in order to form the transmissibility mode profile (TMP).

Similarly for vibration buildup, where the data storage devices include hard disc drives (“HDDs”), servo positioning in an HDD can be adversely affected by excessive vibration. Mechanical excitation can be generated by the rotating disc(s) in one or more of the data storage devices 112, or by other components in the storage enclosure 110 such as the fans 118, or by external forces acting on the storage enclosure such as facility air conditioning systems and the like.

FIG. 6 is an isometric diagrammatic depiction of the storage enclosure 110 of FIG. 2. Each of the data storage devices 112 in these illustrative embodiments is an HDD. Each HDD has a processor-based servo-positioning module (not shown, such as in controller 132) that compensates for position error of transducer heads 161 caused by sources of position error such as vibration. Each HDD in these illustrative embodiments, as is customary, also has one or more vibration sensors 163 monitoring the magnitude of vibration acting on the HDD. For example, FIG. 6 depicts how an unexpected, or transient, vibration generated by fan 118 ₁ propagates through interconnected structural components to each of the HDDs in the array, creating position error of the heads 161 and stimulating the vibration sensors 163. The effects of fan 118 ₁ vibration vary on each of the HDDs, depending on their respective proximity to the source of vibration. Similarly to heat buildup, the present technology can simultaneously capture a frame of vibration data from the servo system and vibration sensor of each respective HDD and map the vibration in relation to HDD location in the enclosure 110 to form the TMP. As stated before, a current TMP can then be used as a reference for comparing subsequent TMPs to predictively maintain the HDDs in service.

Returning now to FIGS. 1 and 2 to illustrate the derivation and use of the TMP. For purposes of an illustrative disclosure, the environmental state being monitored is temperature so the sensors 135 _(n) can be temperature sensors. In alternative contemplated embodiments the environmental state can be vibration so the sensors can be vibration sensors and/or servo-positioning compensation data from HDDs.

For purposes of continuing the illustrative example for temperature, it is imperative for the data storage devices 112 to be operated below the manufacturer's temperature specifications in order to ensure the reliability of storing data to and retrieving data from the data storage device. Modern data storage devices typically have integrated temperature sensors for measuring the individual temperature of the respective device. The present technology leverages these individual temperature measurements to construct profiles corresponding to meaningful positions of at least a subset of the plurality of data storage devices.

The sled 115 contains twelve data storage devices 112 ₁-112 ₁₂ arranged in a rectangular array. Four rows of three data storage devices 112 _(n) each are aligned with the direction of the cooling airflow from the cold zone side 122 to the warm zone side 124 of the sled 115. The cooling air entering the cold zone side 122 is warmed by the heat transmitted from the first data storage device 112 ₁ in that particular row. Thus, during normal steady-state operations it is expected that the first data storage device 112 ₁ will operate at a relatively higher heat transmissibility, and thus cooler temperature, than the second data storage device 112 ₂. For the same reason, heat transmitted by the first and second data storage devices 112 ₁, 112 ₂ warms the cooling airflow going to the third data storage device 112 ₃. Thus, the TMP for this row of data storage devices is expected to indicate that the first (cold aisle side) data storage device 112 ₁ is the relatively coolest and the last (warm aisle side) data storage device 112 ₃ is the relatively warmest.

FIG. 7 depicts a TMP 150 for simultaneous (performing SYNC 143) temperature measurements obtained for the data storage devices 112 ₁, 112 ₂, 112 ₃. The respective temperatures T₁, T₂, T₃ are environmental data points mapped in the TMP 150 in relation to their sequential locations in the row they define from adjacent the cold zone at 124 to adjacent the warm zone at 124. That is, like their sequential arrangement in the sled 115, the environmental data points T₁, T₂, T₃ are mapped sequentially from left to right. As expected, the first data storage device 112 ₁ is operating at the relatively coolest temperature T₁, the third data storage device 112 ₃ is operating at the relatively warmest temperature T₃, and the second data storage device 112 ₂ is operating at a medial temperature T₂.

A curve-fitting operation can be performed to fit the environmental data points to the curve defining the TMP 150. This reference TMP 150 thus provides an empirically derived mode shape for the subset of data storage devices 112, representing the observed performance at a particular time. Reference TMPs can be mapped for different particular times, such as during start up and during steady-state operations at various I/O loadings. The reference TMP 150 can advantageously be used for compliance comparisons of subsequent sample TMPs. For example, a statistical correlation strength can be performed to compare variation of sample TMPs to the reference TMP. A correlation below a predetermined limit can signal an early prediction of potential failure, and can trigger corrective actions that make adjustments that affect the environmental data point values. In these depicted embodiments the reference TMP 150 is provided with a predetermined (statistically derived) upper boundary 152 and a lower boundary 154. The reference TMP 150 can then be used to identify any environmental data point that varies beyond the calculated limits of expected variation. For example, FIG. 8 depicts the reference TMP 150 of FIG. 7 used to check compliance of a sample TMP 156. It is apparent that the second data storage device 112 ₂ is experiencing an unexpectedly high heat transmissibility. In this event the controller 126 can be programmed to intervene with environmental adjustment measures to reduce the likelihood of a catastrophic data loss failure.

FIG. 9 depicts another reference TMP 200 for the data storage devices 112 ₁, 112 ₄, 112 ₇, 112 ₁₀ in the sled 115 arrangement of FIG. 2. Here the expected temperatures are about the same because all of these data storage devices 112 are closest to the cool zone adjacent the side 122. As before, these data storage devices are simultaneously sampled for temperatures and those environmental data points are plotted and curve-fit to derive the reference TMP 200. Expected boundaries 202, 204 are likewise calculated for an allowable amount of deviation from the expected temperature.

FIG. 10 depicts a graphical representation of all the row and column reference TPMs that can be monitored by a computer in real time after simultaneously obtaining all the environmental data points for the data storage devices 112 in the sled 115 depicted in FIG. 2. This measurement granularity is significantly better than prior attempted solutions that monitor the temperatures individually, or that have temperature sensors located in the enclosure that operate independently of the data storage devices. Note that in this computer monitoring of temperature each data storage device is displayed twice, once in each row and once in each column. That makes it possible to ratify the results because any particular data storage device 112 that appears to be running hot in its row sample TMP should likewise indicate running hot in its column sample TMP.

FIG. 11 depicts a flowchart of steps in the EC 145 (FIG. 4) routine in accordance with illustrative embodiments of this technology. The method begins in block 162 with synchronizing all the data storage devices to the global clock, as discussed in FIG. 5. Once synchronized, the data storage devices are simultaneously queried to obtain the environmental data points, in this case the data storage device temperatures. As discussed previously, in equivalent alternative embodiments the environmental data points can be data storage device vibrations. Control then passes to block 166 in which the environmental data points are mapped in relation to sensor locations in order to form a reference TMP. The mapping can include calculating the upper and lower boundaries of expected variation. Although using a reference TMP for comparison is disclosed, the contemplated embodiments are not so limited. In alternative embodiments the reference can simply be a threshold value that a sample TMP conforms to in comparison if all of the environmental data points are below the threshold value.

With the reference TMP stored in memory, the method dwells in block 168 for a predetermined period of time while the data storage devices are operational. In block 170 the determination is made whether it is time to obtain another sample TMP for comparison to the reference TMP. If the determination of block 170 is “no,” then control returns to block 168 where the dwell period continues. If, however, the determination of block 168 is “yes,” then in block 172 another set of environmental data points is obtained and a sample TMP is mapped and compared to the reference TMP. In block 174 the determination is made whether the sample TMP is within the boundaries of the reference TMP. If the determination of block 174 is “yes,” then in block 176 an index is incremented. The index can be used in block 178 to determine whether the reference TMP should be recalculated. This can be advantageous to compensate for any process variation over time. By delaying recalibration, a particular reference TMP can be used for comparison against a number of sample TMPs.

If the determination of block 178 is “yes,” then control returns to block 162 and a new reference TMP is mapped. In this mode, the next sample TMP is compared against a new reference TMP. Contrarily, if the determination of block 178 is “no,” then control returns to block 168 and further sampling is performed against the current reference TMP. In this mode the controller is configured to map a plurality of sample TMPs and compare to the same reference TMP.

If, however, the determination of block 174 is “no,” then control passes to block 180 where the controller calls for an environmental state adjustment as a predictive failure measure to prevent a catastrophic failure. In the illustrative example where the environmental data points are temperature, then the controller 126 can call for adjusting the power supplied to the fans 118 (generally “air handler”) to alter fan speed and, in turn, alter the cooling airflow across the data storage devices 112. The controller 126 can also change the cooling airflow by adjusting the position of an airflow damper inside the housing between the inlet side 122 and the outlet side 124. Alternatively, the controller can adjust the I/O workload for at least a subset of the plurality of data storage devices to route workload away from a suspect data storage device to reduce heat generated by it.

It is to be understood that even though numerous characteristics and advantages of various embodiments of the present disclosure have been set forth in the foregoing description, together with details of the structure and function of various embodiments thereof, this detailed description is illustrative only, and changes may be made in detail, especially in matters of structure and arrangements of parts within the principles of the present disclosure to the full extent indicated by the broad general meaning of the terms in which the appended claims are expressed. While data storage devices such as HDDs, SSDs and hybrid drives have been exemplified as different types of processing devices to which the transmissibility mode profile operation can be applied, such is merely exemplary and is not limiting. Any number of different types of processing devices that generate heat and/or vibration at fixed locations during operation are suited for practicing the transmissibility mode profiling of the present technology. 

What is claimed is:
 1. An apparatus comprising: a plurality of data storage devices, each having an environmental sensor configured to monitor an environmental state; a controller having a memory and configured to perform control of input/output (I/O) transactions for each of the plurality of data storage devices; and environmental control logic including computer instructions stored in the memory and configured to query at least a subset of the data storage devices to read the environmental sensors and obtain environmental data points, and to map the environmental data points in relation to sensor locations forming a transmissibility mode profile (TMP).
 2. The apparatus of claim 1 wherein the controller is configured to selectively call for an environmental state adjustment based on a comparison of the TMP to a reference that is predetermined.
 3. The apparatus of claim 2 wherein the controller is configured to map a plurality of sample TMPs and to compare each of the sample TMPs to the reference.
 4. The apparatus of claim 2 wherein the reference comprises a reference TMP from a previous set of environmental data points in relation to the sensor locations.
 5. The apparatus of claim 4 wherein the TMP is a first sample TMP and the reference TMP is a first reference TMP, wherein the controller is configured to map a second sample TMP from a subsequent set of environmental data points in relation to the sensor locations and to compare the second sample TMP to a second reference TMP.
 6. The apparatus of claim 2 comprising an enclosure containing the data storage devices, wherein the controller is configured to adjust an air handler in the enclosure based on the comparison.
 7. The apparatus of claim 2 wherein the controller is configured to adjust a fan motor speed based on the comparison.
 8. The apparatus of claim 2 wherein the controller is configured to adjust an airflow damper in an enclosure based on the comparison.
 9. The apparatus of claim 2 wherein the controller is configured to adjust an I/O workload for at least a subset of the data storage devices based on the comparison.
 10. The apparatus of claim 1 wherein the environmental data points indicate temperatures of the data storage devices.
 11. The apparatus of claim 1 wherein the environmental data points indicate vibration of the data storage devices inside an enclosure.
 12. The apparatus of claim 1 wherein each data storage device operates according to an individual clock, wherein the controller is configured to synchronize a global clock to each individual clock, and further wherein the environmental control logic is configured to simultaneously query, with respect to the global clock, the subset.
 13. An system comprising: an enclosure; a plurality of data storage devices in the enclosure, each having an environmental sensor and operating according to an individual clock; a global clock for the plurality of data storage devices; sync logic computer instructions stored in a computer memory and configured to synchronize each individual clock to the global clock; and environmental control logic computer instructions stored in a computer memory and configured to simultaneously, in relation to the global clock, obtain environmental data points from the environmental sensors of at least a subset of the plurality of data storage devices, and to construct a profile of the environmental data points in relation to locations of the environmental sensors.
 14. The system of claim 13 wherein the environmental control logic is configured responsively to the profile to adjust an operating condition affecting an environmental state in the enclosure.
 15. The system of claim 13 wherein the sync logic computer instructions are configured to interpolate between two mapped individual clock times.
 16. The system of claim 13 where the environmental sensors are integrated into the data storage devices.
 17. The system of claim 13 wherein the data storage devices are arranged in a rectangular array and the profile is constructed for at least one of a row and a column location of the environmental sensors.
 18. A computer-implemented method for operating an apparatus having a plurality of data storage devices, the method comprising: establishing a global clock among the plurality of data storage devices; simultaneously obtaining environmental data points from at least a subset of the data storage devices according to the global clock; and responsive to at least one of the environmental data points varying a predetermined amount from a threshold value, adjusting an environmental state of the apparatus.
 19. The method of claim 18 wherein the adjusting step is responsive to a transmissibility mode profile of the environmental data points constructed in relation to locations of the data storage devices.
 20. The method of claim 18 wherein the establishing step comprises mapping global clock times to corresponding individual data storage device clock times. 